﻿''' <summary>
''' Der böse Meister des Spiels!
''' Der absolut unbesiegbare Verdammt stark.
''' Sollte eigentlich eher nicht verwendet werden.
''' </summary>
''' <remarks></remarks>
<Serializable()> Public Class KOLeChiffre
    Inherits ObjektKO
    Public Sub New(ByVal Spieler As Integer)
        MyBase.New(Spieler, KIGabeEinsatzstellen.RundenAnfang)
        StartwerteLaden()
    End Sub
    Public Sub New(ByVal Spieler As Integer, ByVal Gabefüllstand As Integer, ByVal Gabenart As Gabemodi, ByVal neuSternkosten As Integer)
        MyBase.New(Spieler, Gabefüllstand, Gabenart, neuSternkosten, KIGabeEinsatzstellen.RundenAnfang)
        StartwerteLaden()
    End Sub

    Private Sub StartwerteLaden()
        KOID = "LECHIFFRE"
        Armee = Armeen.DM.ToString
        Musik = "Le Chiffre"
        Bild = GetBildID()
        Select Case My.Settings.CommanderWarsGameMoodus
            Case CommanderWarsGameModi.AdvanceWars
                Sternkosten = 1000
                Gabekosten = 0
                SpezialgabeKosten = 4
                Gaben = Objektverwalter.KOS(Bild).KOBeschreibung.Gaben
                Gaben(1) = Gaben(0)
            Case CommanderWarsGameModi.AdvanceWars2
                Sternkosten = 1000
                Gabekosten = 7
                SpezialgabeKosten = 6
                Gaben = Objektverwalter.KOS(Bild).KOBeschreibung.Gaben
            Case CommanderWarsGameModi.AdvanceWarsDS
                Sternkosten = 1000
                Gabekosten = 7
                SpezialgabeKosten = 6
                Gaben = Objektverwalter.KOS(Bild).KOBeschreibung.Gaben
            Case CommanderWarsGameModi.AdvanceWarsDC
                Sternkosten = 1000
                Gabekosten = 0
                SpezialgabeKosten = 6
                Gaben = Objektverwalter.KOS(Bild).KOBeschreibung.Gaben
                KORange = 3
            Case CommanderWarsGameModi.CommanderWars2
                Sternkosten = 1000
                Gabekosten = 7
                SpezialgabeKosten = 6
                Gaben = Objektverwalter.KOS(Bild).KOBeschreibung.Gaben
                KORange = 3
            Case Else
                Sternkosten = 1000
                Gabekosten = 7
                SpezialgabeKosten = 6
                Gaben = Objektverwalter.KOS(Bild).KOBeschreibung.Gaben
        End Select
        KOname = Objektverwalter.KOS(Bild).KOBeschreibung.Name

        KOLaden()
    End Sub

    Public Overrides Sub Gabeeinsetzen(Optional ByVal OhneFunktion As Boolean = False)
        FesterZusatzschadenUndDeffensive = New Point(10, 10)
        If OhneFunktion = False Then
            BackbufferSpiel.AddAnimation("SCREENFLASH", 2, New Point, True, ObjektSpielfeld.TopLayer)
            Invasion(New String() {"ART", "FLAK", "JGPZ", "FLAK", "JGPZ"})
        End If
        GabeEingesetzt()
    End Sub

    Public Overrides Sub KOLaden()
        FesterZusatzschadenUndDeffensive = New Point(5, 5)
        Teurungsrate = 0.95#
        If My.Settings.CommanderWarsGameMoodus = CommanderWarsGameModi.AdvanceWarsDC Then
            'Dafür sinkt die Feuerkraft aber drastisch
            WetterReichweitenbonus(0) = 0
        End If
        '   Minenstärke = 0.1# 'evtl. noch nicht fest.
    End Sub

    Public Overrides Sub SpezialGabeeinsetzen(Optional ByVal OhneFunktion As Boolean = False)
        Select Case My.Settings.CommanderWarsGameMoodus
            Case CommanderWarsGameModi.AdvanceWars
                FesterZusatzschadenUndDeffensive = New Point(10, 10)
                If OhneFunktion = False Then
                    BackbufferSpiel.AddAnimation("SCREENFLASH", 2, New Point, True, ObjektSpielfeld.TopLayer)
                    Invasion(New String() {"ART", "FLAK", "JGPZ", "FLAK", "JGPZ"})
                End If
                GabeEingesetzt()
            Case CommanderWarsGameModi.AdvanceWarsDC
                FesterZusatzschadenUndDeffensive = New Point(10, 10)
                If OhneFunktion = False Then
                    BackbufferSpiel.AddAnimation("SCREENFLASH", 2, New Point, True, ObjektSpielfeld.TopLayer)
                    Invasion(New String() {"ART", "FLAK", "JGPZ", "FLAK", "JGPZ"})
                End If
                GabeEingesetzt()
            Case Else
                FesterZusatzschadenUndDeffensive = New Point(15, 15)
                If OhneFunktion = False Then
                    Bombenregen(3)
                    If OhneFunktion = False Then
                        BackbufferSpiel.AddAnimation("SCREENFLASH", 2, New Point, True, ObjektSpielfeld.TopLayer)
                        Invasion(New String() {"KPZ", "FLAK", "JGPZ", "ART", "JGPZ", "K-HELI", "K-HELI"})
                    End If
                End If
                GabeEingesetzt()
        End Select
        
    End Sub

    Public Overrides Sub KOFrame()

    End Sub
End Class

<Serializable()> Public Class KOBeschreibungLeChiffre
    Inherits ObjektKOBeschreibung
    Public Sub New()
        Name = "Le Chiffre"
        Fein = "Astronomische Gewinne"
        Nein = "Verluste aller Art"
        Beschreibung = New String() {"Finsterer Gründer von", "Dark Matter. Er ist", "der Ursprung aller", "Invasionen seit Sturm.", "Er sieht Krieg als", "Mittel zur Geldgewinnung."}
        Stil = New String() {"Seine Truppen besitzen", "besondere Panzerungen", "und Waffensysteme aus", "seinen Waffenfabriken und", "sind billiger."}
        Gabebeschreibung = New String() {"Eine kleine Armee", "landet und kämpft", "für Le Chiffre."}
        SpezialgabeBeschreibung = New String() {"Eine Armee landet", "und kämpft für", "Le Chiffre. Außerdem", "kommt es zu einem", "Bombardement bei dem", "Gegner 3 TP verlieren."}
        GabeKosten = 7
        Spezialgabekosten = 6
        Gaben = New String() {"Bodeninvasion", "Boden-Luft-Invasion"}
        Synergie = New Decimal() {}
        KONamen = New String() {}
        Doppelgabenamen = New String() {}
        Gabesätze = New String() {"Ich zeige euch, was wahre Macht bedeutet!" _
                                     , "Ich bin das Böse, dass euch zerschmettert!" _
                                     , "Eure Waffen sind der Abfall meiner Fabriken!" _
                                     , "Der Sieg ist mein! Alea iacta est!" _
                                     , "Meine Truppen sind in eurem Rücken!" _
                                     , "Ich werde der Herrscher der Welt! Geht in die Knie!"}
        Siegsätze = New String() {"Verluste...Gewinne...der Einsatz hat sich gelohnt." _
                                , "Krieg ist nur ein weiteres Mittel der Geldgewinnung." _
                                , "Mein Sieg war mir sicher. Das Böse kann nicht besiegt werden."}
        Tauschsätze = New String() {"Ich werde euch aus dem Weg räumen." _
                                    , "Ich bin das Böse fürchtet mich."}
        Doppelgabesätze = New DoppelGabesatz() {}
    End Sub
End Class
